home *** CD-ROM | disk | FTP | other *** search
/ GameStar 2006 February / Gamestar_81_2006-02_dvd.iso / Red Shark / Common / DoubleHouse.script < prev    next >
Text File  |  2001-10-22  |  4KB  |  161 lines

  1. //-------------------------------------------------------------------
  2. //
  3. //  This code is copyright 2001 by G5 Software.
  4. //  Any unauthorized usage, either in part or in whole of this code
  5. //  is strictly prohibited. Violators WILL be prosecuted to the
  6. //  maximum extent allowed by law.
  7. //
  8. //-------------------------------------------------------------------
  9.  
  10. class CDoubleHouseMesh_1
  11. {
  12.   string MeshFile = "Models/B_Country_6.mesh";
  13.   string SkinFile = "Models/B_Country_6.skin";
  14. }
  15.  
  16. class CDoubleHouseMesh_2
  17. {
  18.   string MeshFile = "Models/B_Country_7.mesh";
  19.   string SkinFile = "Models/B_Country_7.skin";
  20. }
  21.  
  22. class CDoubleHouseMesh_3
  23. {
  24.   string MeshFile = "Models/B_Country_8.mesh";
  25.   string SkinFile = "Models/B_Country_8.skin";
  26. }
  27.  
  28. class CDoubleHouseMesh_4
  29. {
  30.   string MeshFile = "Models/B_Country_9.mesh";
  31.   string SkinFile = "Models/B_Country_9.skin";
  32. }
  33.  
  34. class CDoubleHouseMesh_5
  35. {
  36.   string MeshFile = "Models/B_House_d.mesh";
  37.   string SkinFile = "Models/B_House_d.skin";
  38. }
  39.  
  40. class CDoubleHouseStateControl extends CUnitLifeControl
  41. {
  42.   void CDoubleHouseStateControl()
  43.   {
  44.     CUnitLifeControl(2500.0);
  45.     m_DestroyPause = 20.0;
  46.     m_ExplosionId  = "EXPLID_BuildingExplosion";
  47.   }
  48. }
  49.  
  50. // Building without ground control (for use in villages)
  51. class CBaseDoubleHouse extends CBuilding, CUnitWithStateControl
  52. {
  53.   array m_MeshClassNames = array(
  54.       "CDoubleHouseMesh_1",
  55.       "CDoubleHouseMesh_2",
  56.       "CDoubleHouseMesh_3",
  57.       "CDoubleHouseMesh_4",
  58.       "CDoubleHouseMesh_5"
  59.     );
  60.  
  61.   void CBaseDoubleHouse()
  62.   {
  63.     int MeshNumber = rand_int(m_MeshClassNames.size());
  64.     InitializeModelAsStatic(m_MeshClassNames[MeshNumber]);
  65.     CUnitWithStateControl("CDoubleHouseStateControl");
  66.   }
  67. }
  68.  
  69. // Single game object
  70. class CMountedDoubleHouse extends CBaseDoubleHouse
  71. {
  72.   void CMountedDoubleHouse()
  73.   {
  74.     InitializeGroundControl();
  75.   }
  76. }
  77.  
  78. // Armed building
  79. class CArmedDoubleHouseGun extends CBaseWeaponDescriptor
  80. {
  81.   int    AmmoQuantity      = -1;
  82.   float  BulletSpeed       = 600.0;
  83.   float  FireDeviation     = 0.02;
  84.   string LinkJointName     = "";
  85.  
  86.   string WeaponName        = "Gun";
  87.   float  FireWeaponDelay   = 0.1;
  88.   bool   IsAutotargeting   = false;
  89.   int    AttachSlotNumber  = 1;
  90. }
  91.  
  92. class CGermanArmedDoubleHouseGun extends CArmedDoubleHouseGun
  93. {
  94.   string BulletPatternId = "BULLETID_GermenArmedDHouseBullet";
  95.   string SoundOnFire     = "SOUNDID_ArmedHouseGunFireSound";
  96. }
  97.  
  98. class CArmedDoubleHouseBehavior extends
  99.   CBaseBehavior,
  100.   CArmedDoubleHouseFireParameters
  101. {
  102.   boolean CanMove = false;
  103.  
  104.   void CArmedDoubleHouseBehavior()
  105.   {
  106.     CBaseBehavior();
  107.   }
  108. }
  109.  
  110. class CArmedDoubleHouseFireParameters
  111. {
  112.   boolean  CanFire = true;
  113.  
  114.   int  FirePeriod        = 200; // ms
  115.   int  FirePeriodRandAdd = 100; // ms
  116.  
  117.   int  ShootGunNum = 1;
  118.  
  119.   boolean  BurstFire = true;
  120.   int  BurstTime         = 2000; // ms
  121.   int  BurstTimeRandAdd  = 1000; // ms
  122.  
  123.   int  BurstDelay        = 1000; // ms
  124.   int  BurstDelayRandAdd = 2000; // ms
  125.  
  126. // radar
  127.  
  128.   boolean  HasRadar = true;
  129.  
  130.   float  MaxRadarDistance = 1500; // m
  131.   float  MinRadarDistance = 10;   // m
  132.  
  133.   int    UpdateRadarPeriod        = 2000; // ms
  134.   int    UpdateRadarPeriodRandAdd = 1000; // ms
  135.  
  136.   boolean  FireFlying = true;
  137.   boolean  FireGround = true;
  138. };
  139.  
  140. class CBaseGermanArmedDoubleHouse extends
  141.   CBaseDoubleHouse,
  142.   CArmedUnit,
  143.   CUnitWithBehavior
  144. {
  145.   void CBaseGermanArmedDoubleHouse()
  146.   {
  147.     CreateStaticWeapon("Gun", "CGermanArmedDoubleHouseGun");
  148.     InitializeVehicleBehavior("CArmedDoubleHouseBehavior");
  149.     Core_AddClassificator("German");
  150.   }
  151. }
  152.  
  153. class CMountedGermanArmedDoubleHouse extends CBaseGermanArmedDoubleHouse
  154. {
  155.   void CMountedGermanArmedDoubleHouse()
  156.   {
  157.     InitializeGroundControl();
  158.   }
  159. }
  160.  
  161.